// The static variables and static function

#include <iostream>
#include <cstring>
using namespace std;

class A {
	public:
		void foo( ) {
			cout << "foo( ) has been called" << endl;
		}

		static void var( ) {
			cout << "var( ) has been called" << endl;
			cout << "m_si : " << m_si << endl;
			// cout << "m_i : " << m_i << endl;	// err
		}

		int m_i;
		static int m_si;
};
int A::m_si = 0;	// Global define and init the varible.

// designer
// ------------------------------------------------------------------
// user

int main( void ) { 
	A a, b;
	a.foo( );
	b.foo( );
	A::var( );
	a.var( );

	return 0;
}

